package com.ecmcloud.flow.constants;

import cn.hutool.core.util.StrUtil;

/**
 * 业务请求
 * @author liuwe
 */
public interface BizConstants {

	/**
	 * 请求启动事件
	 */
	String START_NODE_EVENT = "/remote/startNodeEvent";
	
	/**
	 * 请求结束事件
	 */
	String END_NODE_EVENT = "/remote/endNodeEvent";
	
	/**
	 * 请求结束流程
	 */
	String END_PROCESS = "/remote/endProcess";
	
	/**
	 * 保存消息
	 */
	String SAVE_MESSAGE = "/remote/saveMessage";
	
	/**
	 * 创建流程事件
	 */
	String CREATE_PROCESS_EVENT = "/remote/createProcessEvent";
	
	/**
	 * 查询根据角色获取相对应的用户id列表
	 */
	String QUERY_USERIDLIST_BY_ROLEIDLIST = "/remote/queryUserIdListByRoleIdList";
	
	/**
	 * 查询根据部门获取相对应的用户id列表
	 */
	String QUERY_USERIDLIST_BY_DEPIDLIST = "/remote/queryUserIdListByDepIdList";
	
	/**
	 * 根据用户id获取父部门列表
	 */
	String QUERY_PARENTDEPLIST_BY_USERID = "/remote/queryParentDepListByUserId?userId={}";
	
	/**
	 * 获取部门列表
	 */
	String QUERY_DEPTLIST = "/remote/queryDeptList";
	
	/**
	 * 查询流程管理员
	 */
	String QUERY_PROCESS_ADMIN = "/remote/queryProcessAdmin?flowId=";
	
	/**
	 * 查询流程节点数据
	 */
	String GET_NODEDATA = "/processNodeData/getNodeData?flowId={}&nodeId={}";
	
	/**
	 * 启动流程指派用户
	 */
	String START_ASSIGN_USER = "/remote/startAssignUser";
	
	/**
	 * 流程任务结束事件
	 */
	String TASK_END_EVENT = "/remote/taskEndEvent";
	
	/**
	 * 保存任务并抄送
	 */
	String SAVE_CC = "/remote/savecc";
	
	/**
	 * 保存节点数据
	 */
	String SAVE_NODE_DATA = "/processNodeData/saveNodeData";
	/**
	 * 格式化字符串
	 * @param template
	 * @param data
	 * @return
	 */
	public static String formatByStrTemplate(String template,Object...data) {
		return StrUtil.format(template, data);
	}
}
